package com.etalk.crm.dao;

import com.etalk.crm.pojo.DispositionResult;
import com.etalk.crm.pojo.EtMonitoringList;
import com.etalk.crm.pojo.Person;
import com.etalk.crm.pojo.StudentInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Auther: James
 * @Date: 2019/1/18 19:03
 * @Description:
 */
@Mapper
public interface StudentInfoMapper {

    /**
     * 查询学员信息
     * @param personId 学员id
     * @return
     */
    StudentInfo searchStudentInfoById(@Param("personId") int personId);

    /**
     * 查询et上课问题学员名单
     * @param searchKey 查询关键字
     * @return 学员信息
     */
    List<EtMonitoringList> selectMonitorList(@Param("searchKey") String searchKey);

    /**
     * 添加ET问题用户记录
     * @param personId 用户id
     * @param content 监控问题
     * @param creator 操作人
     * @return 记录数
     */
    int insetMonitorInfo(@Param("personId") int personId, @Param("content") String content, @Param("creator") String creator);

    /**
     * 修改监控内容
     * @param personId 用户id
     * @param content 新的监控内容
     * @param updater 修改人
     * @return 记录数
     */
    int updateMonitorContentByPersonId(@Param("personId") int personId, @Param("content") String content, @Param("updater") String updater);

    /**
     * 修改监控内容
     * @param personId 用户id
     * @param state 是否启用监控：0否，1是
     * @param updater 修改人
     * @return 记录数
     */
    int updateMonitorStateByPersonId(@Param("personId") int personId, @Param("state") int state, @Param("updater") String updater);

    /**
     * 删除监控记录
     * @param personId 用户id
     * @return 记录数
     */
    int deleteMonitorRecordByPersonId(@Param("personId") int personId);

    /**
     * 查询学员和老师信息
     * @param loginName 关键字，账号、手机、中文名
     * @return
     */
    List<Person> selectPersonList(@Param("loginName") String loginName);

    /**
     * 查询所有有效的性格数据
     * @return
     */
    List<DispositionResult> selectDispositionList(int personId);
}
